package ysf.com.sort;

import com.alibaba.fastjson.JSON;

/**
 * @author ysf
 * @version 1.0
 * @date 2021/12/11 15:23
 * <p>
 * 冒泡排序
 * 冒泡排序原理: 比较相邻的两个元素，如果第一个 比第二个大就交换他们两个，依次遍历整个数组
 * 对每一对相邻元素做同样的比较，从开始的第一对到 结尾的最后一对，最后得出的元素就是最大的元素
 */
public class BubbleSort {


    public static void main(String[] args) {

        int[] arrys = {10, 2, 5, 8, 3, 9};
        System.out.println(JSON.toJSONString(arrys));
        bubbleSortOpt(arrys);
        System.out.println(JSON.toJSONString(arrys));


    }

    /**
     * 冒泡排序
     *
     * @param arrys
     */
    public static void bubbleSortOpt(int[] arrys) {

        if (arrys == null) {
            throw new NullPointerException();
        }
        if (arrys.length < 2) {
            return;
        }
        int temp = 0;
        for (int i = 0; i < arrys.length - 1; i++) {
            for (int j = 0; j < arrys.length - i - 1; j++) {
                if (arrys[j] > arrys[j + 1]) {
                    temp = arrys[j];
                    arrys[j] = arrys[j + 1];
                    arrys[j + 1] = temp;
                }
            }
        }
    }


}
